home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Science / RLaB / rlib / cross.r < prev    next >
Text File  |  1994-04-25  |  604b  |  27 lines

  1. //-------------------------------------------------------------------//
  2. //  Syntax:    cross ( A , B )
  3. //
  4. //  Description:
  5.  
  6. //  Given A and B (two 1-by-3 matrices), compute the vector
  7. //  cross-product.
  8. //-------------------------------------------------------------------//
  9.  
  10. cross = function(v1, v2) 
  11. {
  12.   local(i, tmp);
  13.  
  14.   if(v1.n != 3 || v2.n != 3) 
  15.   { 
  16.     printf("cross product requires 3-length matrices\n");
  17.     return 0;
  18.   }
  19.  
  20.   tmp = zeros(1,3);
  21.   tmp[1] =  ((v1[2]*v2[3]) - (v1[3]*v2[2]));
  22.   tmp[2] = -((v1[1]*v2[3]) - (v1[3]*v2[1]));
  23.   tmp[3] =  ((v1[1]*v2[2]) - (v1[2]*v2[1]));
  24.  
  25.   return tmp;
  26. };
  27.